package com.treasure.mall.zbqmallapi.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 *
 * +---------------------------------------------------------
 * * @package: com.treasure.mall.zbqmallapi.model
 * * @author: guomw (guomwchen@foxmail.com)
 * * @date: 2020/6/13 12:43
 * * @since: V1.0.0
 * +---------------------------------------------------------
 * 注意：本内容仅限于内部传阅，禁止外泄以及用于其他的商业目的
 * Copyright 2019-2022 com.treasure.mall.zbqmallapi.model Inc. All rights reserved.
 */
@Data
public class LiveEvent {
    /**
     * 事件通知信息类型：推流事件为1；断流事件为0；录制事件为100；截图事件为200。
     */
    @JsonProperty("event_type")
    private Integer eventType;
    /**
     * MD5（key + t）
     */
    private String sign;
    /**
     * 来自腾讯云的消息通知默认过期时间是10分钟，如果一条消息通知中的 t 值所指定的时间已经过期，则可以判定这条通知无效，进而可以防止网络重放攻击。
     * t 的格式为十进制 UNIX 时间戳，即从1970年1月1日（UTC/GMT 的午夜）开始所经过的秒数。
     */
    @JsonProperty("t")
    private long time = 0;
    @JsonProperty("stream_id")
    private String streamName;
    private String app;

    private int errcode = 0;

    /**
     * @return
     */
    public Long liveRoomId() {
        String prefix = "staging-";
        String roomPreFix = "room-";
        String name = streamName;
        if (name.startsWith(prefix)) {
            name = name.substring(prefix.length());
        }
        if (name.startsWith(roomPreFix)) {
            name = name.substring(roomPreFix.length());
        }
        return Long.valueOf(name);
    }
}
